<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<title>JS + CSS Clock</title>
		<link
			rel="icon"
			href="https://fav.farm/🔥" />
	</head>
	<body>
		<div class="clock">
			<div class="clock-face">
				<div class="hand hour-hand"></div>
				<div class="hand min-hand"></div>
				<div class="hand second-hand"></div>
			</div>
		</div>

		<style>
			html {
				background: #018ded url(https://unsplash.it/1500/1000?image=881&blur=5);
				background-size: cover;
				font-family: 'helvetica neue';
				text-align: center;
				font-size: 10px;
			}

			body {
				margin: 0;
				font-size: 2rem;
				display: flex;
				flex: 1;
				min-height: 100vh;
				align-items: center;
			}

			.clock {
				width: 30rem;
				height: 30rem;
				border: 20px solid white;
				border-radius: 50%;
				margin: 50px auto;
				position: relative;
				padding: 2rem;
				box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.1), inset 0 0 0 3px #efefef, inset 0 0 10px black,
					0 0 10px rgba(0, 0, 0, 0.2);
			}

			.clock-face {
				position: relative;
				width: 100%;
				height: 100%;
				transform: translateY(-3px); /* account for the height of the clock hands */
			}

			.hand {
				width: 50%;
				height: 6px;
				background: black;
				position: absolute;
				top: 50%;
			}
		</style>

		<script>
			let secondHand = document.querySelector('.second-hand');
			let minuteHand = document.querySelector('.min-hand');
			let hourHand = document.querySelector('.hour-hand');

			setInterval(() => {
				const now = new Date();

				const seconds = now.getSeconds();
				const secondsDegrees = (seconds / 60) * 360 + 90;
				secondHand.style.transform = `rotate(${secondsDegrees}deg)`;

				const mins = now.getMinutes();
				const minsDegrees = (mins / 60) * 360 + (seconds / 60) * 6 + 90;
				minsHand.style.transform = `rotate(${minsDegrees}deg)`;

				const hour = now.getHours();
				const hourDegrees = (hour / 12) * 360 + (mins / 60) * 30 + 90;
				hourHand.style.transform = `rotate(${hourDegrees}deg)`;
			}, 1000);
		</script>
	</body>
</html>
